@@ -1,31 +0,0 @@  | 
            ||
| 1 | 
                -1、用户信息 —— 400  | 
            |
| 2 | 
                - 4000 —— 摄影师不存在  | 
            |
| 3 | 
                - 4001 —— 摄影师密码错误  | 
            |
| 4 | 
                -  | 
            |
| 5 | 
                - 4010 —— 用户名已注册  | 
            |
| 6 | 
                - 4011 —— 用户名不存在  | 
            |
| 7 | 
                - 4012 —— 用户密码错误  | 
            |
| 8 | 
                -  | 
            |
| 9 | 
                -  | 
            |
| 10 | 
                -2、照片上传 —— 403  | 
            |
| 11 | 
                - 4039 —— 参数错误  | 
            |
| 12 | 
                -  | 
            |
| 13 | 
                -  | 
            |
| 14 | 
                -3、群组信息 —— 402  | 
            |
| 15 | 
                - 4020 —— 群组不存在  | 
            |
| 16 | 
                - 4021 —— 群组已锁定  | 
            |
| 17 | 
                - 4022 —— 非群组管理员  | 
            |
| 18 | 
                - 40220 —— 没有更新权限  | 
            |
| 19 | 
                - 40221 —— 没有锁定/解锁权限  | 
            |
| 20 | 
                - 40222 —— 没有移除权限  | 
            |
| 21 | 
                - 40223 —— 没有通过权限  | 
            |
| 22 | 
                - 40224 —— 没有拒绝权限  | 
            |
| 23 | 
                - 4027 —— 重复加群申请  | 
            |
| 24 | 
                - 4028 —— 加群申请不存在  | 
            |
| 25 | 
                - 4029 —— 该用户不在群组  | 
            |
| 26 | 
                -  | 
            |
| 27 | 
                -4、飞图信息 —— 403  | 
            |
| 28 | 
                - 4030 —— 飞图不存在  | 
            |
| 29 | 
                -  | 
            |
| 30 | 
                -5、消息相关 —— 409  | 
            |
| 31 | 
                - 4091 —— 消息不存在  | 
            
                @@ -36,11 +36,16 @@ class GroupInfo(CreateUpdateMixin):  | 
            ||
| 36 | 36 | 
                return unicode(self.group_id)  | 
            
| 37 | 37 | 
                 | 
            
| 38 | 38 | 
                @property  | 
            
| 39 | 
                + def group_avatar_url(self):  | 
            |
| 40 | 
                + return img_url(self.group_avatar)  | 
            |
| 41 | 
                +  | 
            |
| 42 | 
                + @property  | 
            |
| 39 | 43 | 
                def data(self):  | 
            
| 40 | 44 | 
                         return {
               | 
            
| 41 | 45 | 
                'group_id': self.group_id,  | 
            
| 42 | 46 | 
                'group_name': self.group_name,  | 
            
| 43 | 47 | 
                'group_default_avatar': self.group_default_avatar,  | 
            
| 48 | 
                + 'group_avatar': self.group_avatar_url,  | 
            |
| 44 | 49 | 
                'group_desc': self.group_desc,  | 
            
| 45 | 50 | 
                'group_from': self.group_from,  | 
            
| 46 | 51 | 
                'group_lock': self.group_lock,  | 
            
                @@ -152,7 +157,7 @@ class GroupPhotoInfo(CreateUpdateMixin):  | 
            ||
| 152 | 157 | 
                'group_id': group and group.group_id,  | 
            
| 153 | 158 | 
                'group_name': group and group.group_name,  | 
            
| 154 | 159 | 
                'group_default_avatar': group and group.group_default_avatar,  | 
            
| 155 | 
                - 'group_avatar': group and group.group_avatar,  | 
            |
| 160 | 
                + 'group_avatar': group and group.group_avatar_url,  | 
            |
| 156 | 161 | 
                'photo_id': self.pk,  | 
            
| 157 | 162 | 
                'photo_url': self.photo_url,  | 
            
| 158 | 163 | 
                'photo_w': self.photo_w,  | 
            
                @@ -102,10 +102,12 @@ def group_detail_api(request):  | 
            ||
| 102 | 102 | 
                 | 
            
| 103 | 103 | 
                def group_update_api(request):  | 
            
| 104 | 104 | 
                     group_id = request.POST.get('group_id', '')
               | 
            
| 105 | 
                -    admin_id = request.POST.get('admin_id', '')
               | 
            |
| 105 | 
                +    admin_id = request.POST.get('admin_id', '') or request.POST.get('user_id', '')
               | 
            |
| 106 | 106 | 
                     group_name = request.POST.get('group_name', '')
               | 
            
| 107 | 107 | 
                     group_desc = request.POST.get('group_desc', '')
               | 
            
| 108 | 108 | 
                 | 
            
| 109 | 
                +    group_avatar = request.FILES.get('group_avatar', '')
               | 
            |
| 110 | 
                +  | 
            |
| 109 | 111 | 
                try:  | 
            
| 110 | 112 | 
                admin = UserInfo.objects.get(user_id=admin_id)  | 
            
| 111 | 113 | 
                except UserInfo.DoesNotExist:  | 
            
                @@ -121,6 +123,13 @@ def group_update_api(request):  | 
            ||
| 121 | 123 | 
                group.group_name = group_name  | 
            
| 122 | 124 | 
                if group_desc:  | 
            
| 123 | 125 | 
                group.group_desc = group_desc  | 
            
| 126 | 
                + if group_avatar:  | 
            |
| 127 | 
                + _, extension = os.path.splitext(group_avatar.name)  | 
            |
| 128 | 
                +        group_avatar_path = 'group/{uuid}_{extension}'.format(uuid=shortuuid.uuid(), extension=extension)
               | 
            |
| 129 | 
                + if default_storage.exists(group_avatar_path):  | 
            |
| 130 | 
                + default_storage.delete(group_avatar_path)  | 
            |
| 131 | 
                + default_storage.save(group_avatar_path, group_avatar)  | 
            |
| 132 | 
                + group.group_avatar = group_avatar_path  | 
            |
| 124 | 133 | 
                group.save()  | 
            
| 125 | 134 | 
                 | 
            
| 126 | 135 | 
                     return JsonResponse({
               |